1
Notazione Esadecimale e Spazio degli Indirizzi Virtuali
AI031Lesson 2
00:00

Entra nel Punto di Vista a Livello Macchina del Programma, in cui la complessità dell'hardware viene astratta in un Spazio degli Indirizzi Virtuali. In questa visione, la memoria non è un insieme di variabili, ma un'enorme sequenza contigua di blocchi da 8 bit chiamati byte. Per una macchina con una dimensione della parola di $w$ bit, questi indirizzi vanno da $0$ a $2^w - 1$, definendo i limiti della portata del programma.

1. Il Potere del 16

Il binario è il linguaggio dei circuiti, ma Notazione Esadecimale è il linguaggio dei programmatori. Poiché $16 = 2^4$, una singola cifra esadecimale (0–F) si mappa perfettamente su un nibble da 4 bit. Ciò permette a un valore da 1 byte di essere espresso in modo compatto con esattamente due cifre (ad esempio, 0xFF). Questa abbreviazione è essenziale per leggere codice macchina e codice assembly, come l'istruzione 4004dc: 48 03 47 28.

Figura 2.2: Mappatura Esadecimale-Binaria-DecimaleEsad.DecBin01...9ABCDEF01...910111213141500000001...1001101010111100110111101111 Regola: Per convertire Dec x in Esad., calcolare ripetutamente x = q ⋅ 16 + r

2. Precisione e Calcolo

Man mano che manipoliamo Tipi di Dato Integrale, ci troviamo di fronte a anelli booleani e complemento a due logica. Dobbiamo gestire memoria Little endian archiviazione, overflow degli interi, e le sfumature del precisione semplice in virgola mobile dove Infinito ($+\infty$) e NaN risiedono. Comprendere questi schemi di bit è il primo passo per padroneggiare aritmetica di grandezza arbitraria e la programmazione di sistemi robusti.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>